import numpy as np


# arr1 = np.array([[11,13,18],[45,46,78],[15,87,33]],dtype='int32')
# print('设置矩阵类型为int32并输出\n',arr1)
# print('查看数组的各种属性:\n',arr1.size)
# print('查看数组的各种属性:\n',arr1.dtype)
# print('查看数组的各种属性:\n',arr1.shape)
# print('查看数组的各种属性:\n',arr1.ndim)
# print('第二行第三列',arr1[1,2])
# print('第2行、列步长为2的元素',arr1[1,::2])
# print('第1~2行、第2~3列的元素',arr1[1:2,1:3])
# print('第1行第2列、第2行第3列的元素',arr1[[0,1],[1,2]])
# print('大于30小于80的元素:',arr1[(arr1>30)&(arr1<=80)])
# lin = np.linspace(5,50,num=6,endpoint=True)
# print(lin)
# # logspace函数创建指数区间为[0，8），元素个数为6，底数为3的等比数列
# log = np.logspace(0,8,num=6,base=3)
# print(log)







# arr10 = np.array([[110,120,90,80],[89,95,77,92],[60,79,96,80]])
# print('3*4的数组arr1:\n',arr10)
# print('第三行和第一行的元素:\n',arr10[[2,0]])
# print('第三行第二列和第一行第一列的元素',arr10[[2,0],[1,0]])
# # 使用布尔型
# print('大于80小于等于100的所有元素:',arr10[(arr10>80)&(arr10<=100)])
# print('小于等于80的所有元素:',arr10[arr10<80])














arr1 = np.array([[10,20,30],[40,50,60]])
print('2*3的数组:\n',arr1)
arr2 = np.array([[1,2,2],[2,2,3]])
print('2*3的数组aa2:\n',arr2)
print('arr1+arr2=\n',arr1+arr2)
print('arr1-arr2=\n',arr1-arr2)
print('arr1*arr2=\n',arr1*arr2)
print('arr1/arr2=\n',arr1/arr2)
print('arr1**arr2=\n',arr1**arr2)





arr3 = np.random.randint(1,10,size=(3,3))
print('随机生成的二维整数数组arr3:\n',arr3)
arr4 = np.random.randint(1,10,size=(3))
print('随机生成的一维整数数组arr4:\n',arr4)
arr5 = np.random.rand(3,3) * 10
print(('随机生成的二维小数数组arr5:\n',arr4))
print('arr3+arr4:\n',np.add(arr3,arr4))
print('arr3*arr4:\n',np.multiply(arr3,arr4))
print('arr3为底数，arr4为指数的幂:\n',np.power(arr3,arr4,dtype='int64'))
print('arr3的倒数:\n',np.reciprocal(arr3,dtype='float'))
print('arr3四舍五入,小数点保留一位:\n',np.around(arr3,decimals=1))
print('arr3的余弦值:\n',np.cos(arr3 * np.pi / 180))